总结verilog产生随机数的$random和seed

您所在的位置:网站首页 systemverilog random函数 总结verilog产生随机数的$random和seed

总结verilog产生随机数的$random和seed

2024-04-30 03:32| 来源: 网络整理| 查看: 265

$random(seed)是verilog中最简单的产生随机数的系统函数。

 

在调用系统函数$random(seed)时,可以写成三种样式:1)$random,2)$random(),3)$random(seed)。下面分别说明:

1)$random

这是最简单的一种写法,略去了seed这个传入参数,$random会使用一个默认的seed(这个默认值为0?)。也正因此,每次进行仿真时,$random产生的随机数序列都是相同的。

2)$random()

这种写法和写法1)的作用是相同的,同样是没有给$random传入seed。

3)$random(seed)

这种写法与上面两种不同,给$random传入了参数seed,因此$random根据seed来产生随机数。seed不同,产生的随机数的序列也不同。而且,每执行一次$random(seed)产生一个随机数,seed也自动更新一次。

 

下面讨论seed的产生。

据我有限的知识,seed有两种产生方式:4)直接赋值为一个确定数,5)利用系统函数$get_initial_random_seed获得值。下面分别讨论:

4)直接赋值

在一个initial块中直接将seed变量写成某值,如下面代码:

integer seed;

reg [7:0] rand_num;

initial  begin seed = 0; end

always @(posedge clk) begin rand_num



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3